Supervised Machine Learning

Published

August 6, 2025

1 Installing packages

#install.packages("NbClust")
#install.packages("mclust")
#install.packages("factoextra")
#install.packages("DiagrammeR")
#install.packages("rfUtilities")

2 Regression Trees: Boston Housing Data

2.1 Demo with Boston Data

data("Boston")

set.seed(123)
# default RF model: ntree = 500, mtry = nos. of features/3
m1 <- randomForest(formula = log(medv) ~ .,  data = Boston, importance=TRUE)
plot(m1)

which.min(m1$mse)
[1] 500
# Tuning mtry
ForestTune <- caret::train(y=log(Boston[,14]),
                  x=Boston[,1:13],
                  tuneGrid=data.frame(mtry=1:10),
                  method="rf",
                  ntree=500,
                  trControl=trainControl(method="oob"))
ForestTune
Random Forest 

506 samples
 13 predictor

No pre-processing
Resampling results across tuning parameters:

  mtry  RMSE       Rsquared 
   1    0.1970465  0.7671552
   2    0.1592069  0.8479968
   3    0.1492000  0.8665045
   4    0.1448385  0.8741952
   5    0.1435082  0.8764956
   6    0.1442932  0.8751408
   7    0.1456864  0.8727179
   8    0.1450441  0.8738378
   9    0.1482671  0.8681688
  10    0.1481130  0.8684425

RMSE was used to select the optimal model using the smallest value.
The final value used for the model was mtry = 5.
plot(ForestTune)

m1 <- randomForest(formula = log(medv) ~ ., data = Boston, 
                   ntree=500, mtry = 5, importance=TRUE)
importance(m1)
          %IncMSE IncNodePurity
crim    22.045081    10.2428053
zn       5.261208     0.2064273
indus   10.185472     2.2999356
chas     3.123448     0.2268523
nox     26.029882     8.4265352
rm      41.678157    16.5194111
age     17.562822     1.9765128
dis     21.341995     4.5182532
rad      7.947701     0.6057602
tax     13.035036     2.5129642
ptratio 14.317925     4.3062644
black   15.466762     1.6596508
lstat   38.190017    29.1222391
varImpPlot(m1)

plot(m1)

which.min(m1$mse)
[1] 492
# Partial dependance plots
par(mfrow=c(1,1))

# Partial plots of single variable
m1 %>%  
  partial(pred.var = "rm") %>%
  plotPartial(smooth = FALSE, lwd=3, 
              ylab = "Median log Price",
              main = "Partial Dependance Plot", 
              xlab ="Number of Rooms")

partial(m1, pred.var = "rm", plot = TRUE, rug = TRUE) #rug: 

partialPlot(m1, pred.data = Boston, x.var = "rm", rug = TRUE)

# Partial plots of two variables
pd <- partial(m1, pred.var = c("lstat", "rm"))
plotPartial(pd)

# Add contour lines and use a different color palette
rwb <- colorRampPalette(c("red", "white", "blue"))
plotPartial(pd, contour = TRUE, col.regions = rwb, 
            main ="PDP: % lower status pop vs nos. room", xlab="number of rooms",
            ylab ="% lower status of Pop" )

3 Gradient Boosting - Boston Housing Data

set.seed(123)

# train GBM model
gbm1 <- gbm(
  formula = log(medv) ~ .,
  distribution = "gaussian",
  data = Boston,
  n.trees = 2000,
  interaction.depth = 1,
  shrinkage = 0.001,
  cv.folds = 5,
  n.cores = NULL, # will use all cores by default
  verbose = FALSE
  ) 

# Using caret with the default grid to optimize tune parameters automatically
# GBM Tuning parameters:
# n.trees (# Boosting Iterations)
# interaction.depth (Max Tree Depth)
# shrinkage (Shrinkage)
# n.minobsinnode (Min. Terminal Node Size)


# Tuning hyper hyper parameters
hyper_grid <- expand.grid(
  n.trees = c(1000, 2000),
  shrinkage = c(0.001, .01, .05),
  interaction.depth = c(1, 2, 3),
  n.minobsinnode = c(10, 20))
  
trainControl <- trainControl(method="cv", number=10)

set.seed(99)
gbm.caret <- train(log(medv) ~ .
                   , data=Boston
                   , distribution="gaussian"
                   , method="gbm"
                   , trControl=trainControl
                   , verbose=FALSE
                   , tuneGrid=hyper_grid
                   )                  

# attributes(gbm.caret)
gbm.caret$bestTune
   n.trees interaction.depth shrinkage n.minobsinnode
30    2000                 2      0.05             10
# GBM with tunes hyper parameters
gbm2 <- gbm(
  formula = log(medv) ~ .,
  distribution = "gaussian",
  data = Boston,
  n.trees = 2000,
  interaction.depth = 2,
  shrinkage = 0.05,
  n.minobsinnode = 10,
  cv.folds = 5,
  n.cores = NULL, # will use all cores by default
  verbose = FALSE
  ) 
# Variable importance
vip::vip(gbm2)

# PDPs
gbm2 %>%
  partial(pred.var = "rm", n.trees = gbm2$n.trees, grid.resolution = 100) %>%
  autoplot(rug = TRUE, train = Boston)

gbm2 %>%
  partial(pred.var = c("rm", "lstat"), n.trees = gbm2$n.trees, grid.resolution = 100) %>%
  autoplot(rug = TRUE, train = Boston)

pd <- partial(gbm2, pred.var = c("rm","lstat"), n.trees = gbm2$n.trees, grid.resolution = 100) 
# Add contour lines and use a different color palette
rwb <- colorRampPalette(c("red", "white", "blue"))
plotPartial(pd, contour = TRUE, col.regions = rwb, 
            main ="PDP: % lower status pop vs nos. room", xlab="% lower status of Pop",  ylab ="number of rooms")

4 Classification Trees for Buy-No Buy Data: Eight product categories

data1 = read.csv(here("data", "iridata.csv"))

# Baby,Coffee,Detergent,Paste,Sauce,Snacks,Sunscreen,Tuna
data2 = subset(data1, subset=catno =="Baby")
str(data2)
'data.frame':   1225 obs. of  12 variables:
 $ catno        : chr  "Baby" "Baby" "Baby" "Baby" ...
 $ hhinc        : chr  "$100 plus" "$25-49K" "$100 plus" "< 25K" ...
 $ hhsize       : chr  "1-2  members" "3  members" "1-2  members" "1-2  members" ...
 $ race         : chr  "Other" "Caucasian" "Caucasian" "Caucasian" ...
 $ ethnicity    : chr  "Non-Hispanic" "Non-Hispanic" "Non-Hispanic" "Non-Hispanic" ...
 $ affluence    : chr  "Getting By" "Living Comfortably" "Getting By" "Doing Well" ...
 $ pres_child   : chr  "No" "No" "No" "No" ...
 $ age_head     : chr  "55-64Y" "50-54Y" "65+Y" "65+Y" ...
 $ educ_fem_head: chr  "Some College" "Some or High School" "Post College Grade" "Some or High School" ...
 $ census       : chr  "West" "South" "West" "Central" ...
 $ buy          : int  0 0 0 0 0 0 0 0 0 0 ...
 $ purchase     : chr  "NO" "NO" "NO" "NO" ...
cat_vars <- c("hhinc", "hhsize", "race", "ethnicity", "affluence", "pres_child", 
              "age_head", "educ_fem_head", "census", "purchase")

data <-  data2 %>%
  mutate(across(all_of(cat_vars), as_factor))
str(data)
'data.frame':   1225 obs. of  12 variables:
 $ catno        : chr  "Baby" "Baby" "Baby" "Baby" ...
 $ hhinc        : Factor w/ 5 levels "$100 plus","$25-49K",..: 1 2 1 3 3 4 2 1 4 2 ...
 $ hhsize       : Factor w/ 3 levels "1-2  members",..: 1 2 1 1 1 3 1 3 1 3 ...
 $ race         : Factor w/ 2 levels "Other","Caucasian": 1 2 2 2 2 2 1 2 2 2 ...
 $ ethnicity    : Factor w/ 2 levels "Non-Hispanic",..: 1 1 1 1 1 1 1 1 1 1 ...
 $ affluence    : Factor w/ 3 levels "Getting By","Living Comfortably",..: 1 2 1 3 3 1 1 1 1 3 ...
 $ pres_child   : Factor w/ 2 levels "No","Yes": 1 1 1 1 1 2 1 2 1 2 ...
 $ age_head     : Factor w/ 6 levels "55-64Y","50-54Y",..: 1 2 3 3 2 4 1 1 1 5 ...
 $ educ_fem_head: Factor w/ 4 levels "Some College",..: 1 2 3 2 2 2 1 3 2 2 ...
 $ census       : Factor w/ 4 levels "West","South",..: 1 2 1 3 1 1 2 3 2 3 ...
 $ buy          : int  0 0 0 0 0 0 0 0 0 0 ...
 $ purchase     : Factor w/ 2 levels "NO","YES": 1 1 1 1 1 1 1 1 1 1 ...
# Single Tree: Tuning complexity parameter, cp
TreeTune<-train(y=data[,12],
                x=data[,2:10],
                tuneGrid=data.frame(cp=seq(.001,.05,length.out = 20)),
                method="rpart",
                trControl=trainControl(method="repeatedcv",repeats=10,number=10))
TreeTune$bestTune
          cp
7 0.01647368
plot(TreeTune)

# Tree
GoodTree <- rpart(purchase ~ hhinc + hhsize + race + ethnicity +
                affluence + pres_child + age_head + educ_fem_head +
                census,data=data,method="class",
                control=rpart.control(cp=0.01389474))

# summary(GoodTree) 

fancyRpartPlot(GoodTree)

onetree <- predict(GoodTree, type="prob")[,2]

rpart.plot(GoodTree, type =5, extra=104, fallen.leaves=T, main="Sample Single Tree")

5 Random Forest NOBuy- Buy Data

# Tuning mtry
ForestTune <- caret::train(y=data[,12],
                  x=data[,2:10],
                  tuneGrid=data.frame(mtry=1:6),
                  method="rf",ntree=500,
                  trControl=trainControl(method="oob"))
ForestTune$results
   Accuracy     Kappa mtry
1 0.6653061 0.1179931    1
2 0.6693878 0.2433716    2
3 0.6465306 0.1980087    3
4 0.6391837 0.1904641    4
5 0.6359184 0.1865918    5
6 0.6293878 0.1789447    6
plot(ForestTune)

m2 <- randomForest(x=data[,2:10],y=data[,12],data=data, 
                        type="classification",ntree=500,mtry=2, importance = TRUE)

# Random Forest prediction
rfpred <- predict(m2,type="prob")[,2]
importance(m2)
                      NO        YES MeanDecreaseAccuracy MeanDecreaseGini
hhinc          9.9518220 -0.3497756            7.2112029        35.142585
hhsize        10.9960555 10.5337820           18.7930710        29.110216
race           1.4224556  0.8806341            1.5690573        12.071906
ethnicity      0.1589872 -3.6983692           -3.0587445         8.718574
affluence      3.7526294 -0.8801165            2.3765147        17.028193
pres_child    10.4635617 13.8523152           24.9207270        25.745736
age_head      25.9393002 11.2475624           29.6558953        70.898330
educ_fem_head -5.1915254  4.2517352           -0.1875437        31.587706
census        -1.9234697  1.0663672           -0.3993511        32.299178
varImpPlot(m2)

# PDP for single variable
partialPlot(x=m2, pred.data=data, x.var=hhsize, which.class="YES")

partialPlot(x=m2, pred.data=data, x.var=pres_child, which.class="YES")

# Household Size
m2 %>% 
  partial(pred.var="hhsize", prob=TRUE, which.class ="YES" ) %>%
  plotPartial(smooth=FALSE, lwd=2, ylab=expression(probability),ylim=c(0.5,0.9), main=expression(Partial.Dependance.Plot(Random.Forest)), xlab=expression(Household.Size))

# Age of Head
m2 %>% 
  partial(pred.var="pres_child", prob=TRUE, which.class ="YES" ) %>%
  plotPartial(smooth=TRUE, lwd=2, ylab=expression(probability),  ylim=c(0.1,1), main=expression(Partial.Dependance.Plot(Random.Forest)), xlab=expression(Age.Head))

# PDP for two variables
m2 %>% 
  partial(pred.var=c("pres_child", "hhinc"), prob=TRUE, which.class ="YES") %>%
  plotPartial(smooth=TRUE, lwd=2, ylab=expression(probability), ylim=c(0.1,1), main=expression(Partial.Dependance.Plot(Random.Forest)), xlab=expression(Presence.Child))

6 Random Forest: Predictive Accuracy in IRI data

set.seed(1001)
 indxTrain <- createDataPartition(y = data$purchase,p = 0.70,list = FALSE)
 training <- data[indxTrain,]
 testing <- data[-indxTrain,] 

rfarrest <- randomForest(x=training[,2:10],y=training[,12],data=training, 
                        type="classification",ntree=1000,mtry=2, importance = TRUE)
rfarrest$confusion
     NO YES class.error
NO  126 179   0.5868852
YES  97 456   0.1754069
# Predictive accuracy in training sample
accuracy.train <- rfarrest %>% predict(training)
confusionMatrix(accuracy.train, training$purchase)
Confusion Matrix and Statistics

          Reference
Prediction  NO YES
       NO  212  32
       YES  93 521
                                          
               Accuracy : 0.8543          
                 95% CI : (0.8289, 0.8773)
    No Information Rate : 0.6445          
    P-Value [Acc > NIR] : < 2.2e-16       
                                          
                  Kappa : 0.6671          
                                          
 Mcnemar's Test P-Value : 8.025e-08       
                                          
            Sensitivity : 0.6951          
            Specificity : 0.9421          
         Pos Pred Value : 0.8689          
         Neg Pred Value : 0.8485          
             Prevalence : 0.3555          
         Detection Rate : 0.2471          
   Detection Prevalence : 0.2844          
      Balanced Accuracy : 0.8186          
                                          
       'Positive' Class : NO              
                                          
# Predictive accuracy in testing sample 
accuracy.test <- rfarrest %>% predict(testing)
confusionMatrix(accuracy.test, testing$purchase)
Confusion Matrix and Statistics

          Reference
Prediction  NO YES
       NO   50  47
       YES  80 190
                                          
               Accuracy : 0.654           
                 95% CI : (0.6028, 0.7026)
    No Information Rate : 0.6458          
    P-Value [Acc > NIR] : 0.394399        
                                          
                  Kappa : 0.1976          
                                          
 Mcnemar's Test P-Value : 0.004518        
                                          
            Sensitivity : 0.3846          
            Specificity : 0.8017          
         Pos Pred Value : 0.5155          
         Neg Pred Value : 0.7037          
             Prevalence : 0.3542          
         Detection Rate : 0.1362          
   Detection Prevalence : 0.2643          
      Balanced Accuracy : 0.5932          
                                          
       'Positive' Class : NO              
                                          

7 Extreme gradient Boosting: IRI data, Buy or NO BUy

# create tuning grid
grid_default <- expand.grid(nrounds = c(200,300),
max_depth = c(4,5), eta = c(0.01), gamma = c(0,1), min_child_weight = c(10, 25),
colsample_bytree = c(0.7), subsample = c(0.6))

set.seed(123)
# train XGBoost model
xgboost2 <- train(purchase ~ hhinc + hhsize + race + ethnicity +
                affluence + pres_child + age_head + educ_fem_head +
                census,data=data, tuneGrid = grid_default,
                method = "xgbTree", metric ="Accuracy")
[19:00:17] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:19] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:20] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:21] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:23] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:24] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:26] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:27] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:28] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:29] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:31] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:32] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:34] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:35] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:37] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:38] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:39] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:40] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:51] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:53] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:54] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:56] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:57] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:58] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:00:59] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:01] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:02] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:03] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:04] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:06] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:08] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:09] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:10] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:12] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:13] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:14] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:15] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:17] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:18] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:20] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:21] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:23] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:24] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:25] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:27] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:28] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:30] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:32] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:33] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:34] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:35] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:37] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:38] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:40] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:41] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:52] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:54] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:55] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:57] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:58] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:01:59] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:01] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:03] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:04] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:06] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:07] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:09] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:10] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:11] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:13] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:15] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:16] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:18] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:19] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:20] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:22] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:23] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:24] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:26] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:27] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:29] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:30] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:32] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:33] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:34] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:35] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:37] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:38] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:40] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:41] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:51] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:52] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:53] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:55] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:56] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:58] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:02:59] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:01] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:02] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:03] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:04] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:05] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:07] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:09] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:10] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:13] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:14] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:16] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:17] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:19] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:20] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:21] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:23] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:25] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:26] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:27] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:28] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:29] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:31] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:33] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:34] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:36] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:38] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:39] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:40] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:41] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:52] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:53] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:55] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:56] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:58] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:03:59] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:01] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:03] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:04] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:06] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:07] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:09] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:10] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:13] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:14] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:15] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:17] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:19] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:20] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:22] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:23] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:25] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:27] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:28] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:30] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:32] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:33] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:35] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:37] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:38] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:40] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:41] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:51] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:52] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:55] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:56] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:57] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:04:59] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:01] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:03] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:05] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:06] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
plot(xgboost2)

xgboost2$bestTune
  nrounds max_depth  eta gamma colsample_bytree min_child_weight subsample
9     200         5 0.01     0              0.7               10       0.6
xgb.plot.tree(model = xgboost2$finalModel,
trees = 1, plot_width = 800, plot_height = 800)
importance_matrix <- xgb.importance(model = xgboost2$finalModel)
print(importance_matrix)
                             Feature        Gain       Cover  Frequency
                              <char>       <num>       <num>      <num>
 1:                    pres_childYes 0.313255945 0.149982238 0.07957560
 2:                    age_head< 35Y 0.213512031 0.140750397 0.08885942
 3:                     age_head65+Y 0.071533380 0.073617366 0.06100796
 4:                  hhsize4 or more 0.056827456 0.057961415 0.05238727
 5:                   age_head50-54Y 0.034538342 0.046493002 0.04045093
 6: educ_fem_headSome or High School 0.031720721 0.056185679 0.06432361
 7:                    raceCaucasian 0.031277181 0.048490198 0.06366048
 8:                   age_head35-44Y 0.028896302 0.041576967 0.05238727
 9:                   age_head45-49Y 0.027824912 0.034404236 0.02188329
10:                      censusSouth 0.024539377 0.038736697 0.07957560
11:                 hhsize3  members 0.021220160 0.033321589 0.03580902
12:                     hhinc$70-99K 0.021092874 0.036584409 0.04310345
13:                       censusEast 0.019982536 0.031279268 0.03183024
14:   educ_fem_headGradauted College 0.016224577 0.036359556 0.06432361
15:  educ_fem_headPost College Grade 0.016079962 0.030798136 0.03050398
16:                     hhinc$50-69K 0.015814372 0.028411720 0.03116711
17:      affluenceLiving Comfortably 0.014619607 0.027782896 0.04376658
18:                    censusCentral 0.014351058 0.029615329 0.04177719
19:                     hhinc$25-49K 0.013456453 0.026161236 0.03912467
20:              affluenceDoing Well 0.008700676 0.019426143 0.02453581
21:                ethnicityHispanic 0.002826491 0.006637517 0.00397878
22:                       hhinc< 25K 0.001705586 0.005424006 0.00596817
                             Feature        Gain       Cover  Frequency
xgb.plot.importance(importance_matrix = importance_matrix)

8 Extreme gradient Boosting: nhefs data

nhefs <- read_csv(here("data", "nhefs.csv")) %>%
mutate(wt_delta = as.numeric(wt82_71 > median(wt82_71)))


# create tuning grid
grid_default <- expand.grid(nrounds = c(200,300),
max_depth = c(4,5), eta = c(0.01), gamma = c(0,1), min_child_weight = c(10, 25),
colsample_bytree = c(0.7), subsample = c(0.6))

set.seed(123)
# train XGBoost model
xgboost1 <- train(factor(wt_delta) ~ qsmk +
sex + age + income + sbp + dbp + price71 +
tax71 + race, data = nhefs, tuneGrid = grid_default,
method = "xgbTree", metric = "Accuracy")
[19:05:14] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:16] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:18] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:20] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:22] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:24] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:26] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:28] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:29] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:31] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:33] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:34] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:36] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:38] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:40] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:41] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:52] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:55] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:56] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:58] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:05:59] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:02] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:03] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:05] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:07] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:09] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:11] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:13] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:14] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:16] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:18] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:20] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:22] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:24] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:26] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:28] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:29] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:32] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:34] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:36] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:38] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:40] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:52] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:54] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:56] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:57] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:06:59] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:01] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:03] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:05] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:07] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:09] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:10] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:12] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:14] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:16] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:17] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:20] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:22] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:25] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:26] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:28] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:29] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:32] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:33] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:35] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:37] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:39] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:41] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:51] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:53] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:55] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:56] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:07:58] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:00] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:01] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:03] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:04] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:07] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:08] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:09] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:11] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:13] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:14] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:16] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:17] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:19] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:21] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:22] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:23] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:25] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:26] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:28] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:29] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:32] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:33] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:34] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:36] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:37] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:39] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:40] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:41] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:45] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:48] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:51] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:52] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:54] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:56] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:57] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:58] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:08:59] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:02] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:03] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:05] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:06] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:08] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:09] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:11] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:13] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:14] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:15] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:16] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:18] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:20] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:21] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:22] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:23] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:25] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:26] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:27] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:29] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:31] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:32] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:33] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:34] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:36] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:38] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:39] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:41] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:43] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:44] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:46] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:47] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:49] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:50] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:52] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:53] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:55] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:56] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:58] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:09:59] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:01] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:02] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:04] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:05] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:07] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:08] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:10] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:11] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:13] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:14] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:15] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:17] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:18] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:20] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:21] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:22] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:23] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:25] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:27] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:28] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:29] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:31] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:32] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:34] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:35] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:36] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:38] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:39] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:41] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
[19:10:42] WARNING: src/c_api/c_api.cc:935: `ntree_limit` is deprecated, use `iteration_range` instead.
# plot(xgboost1)
xgboost1$bestTune
   nrounds max_depth  eta gamma colsample_bytree min_child_weight subsample
15     200         5 0.01     1              0.7               25       0.6
xgb.plot.tree(model = xgboost1$finalModel,
trees = 1:2, plot_width = 800, plot_height = 800)
importance_matrix <- xgb.importance(model = xgboost1$finalModel)
print(importance_matrix)
   Feature        Gain      Cover   Frequency
    <char>       <num>      <num>       <num>
1:     age 0.458471328 0.32119934 0.281146637
2:     dbp 0.153948154 0.16985337 0.171995590
3:    qsmk 0.140593604 0.14179957 0.108048512
4:     sbp 0.096442882 0.13536373 0.153252481
5: price71 0.061374316 0.09701480 0.127894157
6:  income 0.046092537 0.06665409 0.072767365
7:     sex 0.022381198 0.03164424 0.044101433
8:   tax71 0.015433740 0.02554422 0.033076075
9:    race 0.005262242 0.01092664 0.007717751
xgb.plot.importance(importance_matrix = importance_matrix)